Robotic arm, method and apparatus for controlling robotic arm, robot, and storage medium

ABSTRACT

A robotic arm includes: a robotic arm main body; a carrying component connected to the robotic arm main body; a driving motor; and a controller connected to the driving motor. The controller is configured to generate a control signal that controls the driving motor to drive the carrying component to move. Along with a movement of the carrying component and under actions of a friction and the gravity, a target object placed on the carrying component slides on an upper surface of the carrying component and slides away from the carrying component at a target position at a target speed.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation application of PCT Patent ApplicationNo. PCT/CN2022/138281, filed on Dec. 12, 2022, which claims priority toChinese Patent Application No. 202210107236X, entitled “ROBOTIC ARM,METHOD AND APPARATUS FOR CONTROLLING ROBOTIC ARM, ROBOT, AND STORAGEMEDIUM” and filed with the China National Intellectual PropertyAdministration on Jan. 28, 2022, the entire contents of both of whichare incorporated herein by reference.

FIELD OF THE TECHNOLOGY

Embodiments of the present disclosure relate to the field of robotcontrol, and in particular, to a robotic arm, a method and apparatus forcontrolling a robotic arm, a robot, and a storage medium.

BACKGROUND

With the continuous development of a robot control technology, more andmore robots have a function of placing objects through robotic arms.

In a related technology, a robot uses an end effector (such as a roboticarm) to grasp a target object and place it at a designated position. Theprocess of placing the target object by the robot is a quasi-static orstatic placement process. That is, the robotic arm brings the targetobject to the designated position through the end effector. When therobotic arm stops moving, the end effector is turned on, and the objectis lowered.

However, in the object placement process in the related technology, theend effector needs to be turned on after the robotic arm hovers. As aresult, the processes of moving and placing the object are notcontinuous and smooth motions, causing low efficiency of placing anobject by a robot.

SUMMARY

Embodiments of the present disclosure relate to a robotic arm, a methodand apparatus for controlling a robotic arm, a robot, and a storagemedium, which can dynamically place a target object through the roboticarm and improve the efficiency of placing an object. The technicalsolutions are as follows:

One aspect provides a robotic arm, the robotic arm including: a roboticarm main body; a carrying component connected to the robotic arm mainbody; a driving motor; and a controller connected to the driving motor.The controller is configured to generate a control signal that controlsthe driving motor to drive the carrying component to move. Along with amovement of the carrying component and under actions of a friction andthe gravity, a target object placed on the carrying component slides onan upper surface of the carrying component and slides away from thecarrying component at a target position at a target speed.

One aspect provides a method for controlling a robotic arm, executed bya controller, the robotic arm including a carrying component, a roboticarm main body, and a driving motor, and the carrying component beingconnected to the robotic arm main body; the method including: obtaininga friction coefficient between a target object on the carrying componentand the carrying component; constructing a sliding mechanical modelbased on the friction coefficient; the sliding mechanical model beingconfigured to indicate a relationship between a change of generalizedcoordinates of a motion system and a driving force on the motion systemin a process that the carrying component carries the target object andmoves; the motion system including the carrying component and the targetobject; obtaining target control information based on the slidingmechanical model; the target control information including a motiontrajectory of the carrying component and driving forces on the motionsystem at various moments; and driving the carrying component to movethrough the driving motor based on the target control information. Alongwith a movement of the carrying component and under actions of afriction and the gravity, the target object slides on an upper surfaceof the carrying component and slides away from the carrying component ata target position at a target speed.

Another aspect provides an apparatus for controlling a robotic arm,executed by a controller, the robotic arm including a carryingcomponent, a robotic arm main body, and a driving motor, and thecarrying component being connected to the robotic arm main body; theapparatus including: a coefficient obtaining module, configured toobtain a friction coefficient between a target object on the carryingcomponent and the carrying component; a model construction module,configured to construct a sliding mechanical model based on the frictioncoefficient; the sliding mechanical model being configured to indicate arelationship between a change of generalized coordinates of a motionsystem and a driving force on the motion system in a process that thecarrying component carries the target object and moves; the motionsystem including the carrying component and the target object; a controlinformation obtaining module, configured to obtain target controlinformation based on the sliding mechanical model; the target controlinformation including a motion trajectory of the carrying component anddriving forces on the motion system at various moments; a drivingcontrol module, configured to: drive the carrying component to movethrough the driving motor based on the target control information, sothat with the movement of the carrying component under actions of afriction and the gravity, the target object placed on the carryingcomponent slides on an upper surface of the carrying component andslides away from the carrying component at a target position at a targetspeed.

Another aspect provides a robot, the robot including the above-mentionedrobotic arm; the controller in the robotic arm being configured toperform the above-mentioned method for controlling the robotic arm.

Another aspect provides a non-transitory computer-readable storagemedium. The storage medium stores at least one instruction, at least oneprogram, and a code set or an instruction set, the at least oneinstruction, the at least one program, the code set or the instructionset being loaded and executed by one or more processors to implement themethod for controlling the robotic arm in any one of the embodiments ofthe present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

For clearer descriptions of the technical solutions according to theembodiments of the present disclosure, the drawings accompanying thedescription of some embodiments are briefly introduced below.

FIG. 1 is a schematic structural diagram of a robotic arm providedaccording to an exemplary embodiment of the present disclosure.

FIG. 2 is a schematic structural diagram of a robotic arm providedaccording to an exemplary embodiment of the present disclosure.

FIG. 3 is a flowchart of a method for controlling a robotic arm providedaccording to an exemplary embodiment of the present disclosure.

FIG. 4 is a schematic diagram of dynamic object placement providedaccording to an exemplary embodiment of the present disclosure.

FIG. 5 is a schematic diagram of dynamic object placement providedaccording to another exemplary embodiment of the present disclosure.

FIG. 6 is an implementation flow of a sliding placement operationaccording to the present disclosure.

FIG. 7 is a flowchart of a method for controlling a robotic arm providedaccording to an exemplary embodiment of the present disclosure.

FIG. 8 is a schematic diagram of a motion system provided according toan exemplary embodiment of the present disclosure.

FIG. 9 is a schematic diagram of position adjustment and placementprovided according to an exemplary embodiment of the present disclosure.

FIG. 10 is a structural block diagram of an apparatus for controlling arobotic arm provided according to an exemplary embodiment of the presentdisclosure.

FIG. 11 is a structural block diagram of a robot provided according toan exemplary embodiment of the present disclosure.

DESCRIPTION OF EMBODIMENTS

To make the objectives, technical solutions, and advantages of thepresent disclosure clearer, the following further describesimplementations of the present disclosure in detail with reference tothe accompanying drawings. First, terms involved in the embodiments ofthe present disclosure are explained as follows:

1) Robot: It is an intelligent machine that can work semi-automaticallyor fully automatically. In some embodiments, this machine possesses someintelligent abilities similar to those of humans or creatures, such asperception, planning, action, and collaboration. It is an automaticmachine with high flexibility.

With the deepening of understanding of the intelligent nature of a robottechnology, the robot technology begins to be continuously expanded intovarious fields of human activities. In conjunction with the applicationcharacteristics of these fields, people have developed a variety ofspecial robots with perception, decision-making, action, and interactionabilities, and various intelligent robots. A robot is a machine thatautomatically performs operations. The robot can accept human commandsand run pre-programmed programs, or can act based on principles andguidelines formulated using an artificial intelligence technology. Tasksof the robot are usually to assist or replace human work. The robot canbe a product of advanced integrated cybernetics, mechatronics,computers, materials, and bionics, and have important applications inindustry, medicines, agriculture, service industry, constructionindustry, and other fields.

Based on application environments, robots can also be divided into twocategories, namely, industrial robots and special robots. The industrialrobots refer to multi-joint robotic arms or multi-degree-of-freedomrobots facing the industrial field. The special robots are variousadvanced robots, other than the industrial robots, used innon-manufacturing industries and serving humans, including: a bionicrobot, a service robot, an underwater robot, an entertainment robot, anagricultural robot, and the like. Among the special robots, some robotshave developed rapidly and have a trend of becoming independent systems,such as the service robot, the underwater robot, and a micro operationrobot.

There are four types of industrial robots according to a motion form ofan arm portion: a rectangular coordinate type arm portion can move alongthree rectangular coordinates; a cylindrical coordinate type arm portioncan perform lifting, rotating, and stretching actions; a sphericalcoordinate type arm can rotate, pitch, and stretch. An articulated armportion is provided with a plurality of rotational joints.

A control function of industrial robots according to a motion of anexecution mechanism can be divided into a point position manner and acontinuous trajectory manner. The execution mechanism controlled in thepoint position manner is accurately positioned from one point to anotherposition, which is suitable for feeding and discharging of machinetools, spot welding, general handling, loading and unloading operations,and the like. The continuous trajectory type can control the executionmechanism to move according to a given trajectory, which is suitable forcontinuous welding and coating operations.

The industrial robots are divided into two types based on programinputting methods: a program inputting type and a teaching inputtingtype. The program inputting type is to transmit working program filesthat have been programmed on a computer to a robot control cabinet in acommunication manner such as a serial port or Ethernet. There are twoteaching methods for the teaching inputting type: In one teachingmethod, an operator uses a manual controller (a teaching control box) totransmit a command signal to a driving system, so that the executionmechanism can perform actions once according to a required actionsequence and motion trajectory. In another method, an operator directlyleads the execution mechanism to perform actions once according to arequired action sequence and motion trajectory. In a teaching process,information of a working program is automatically stored into a programmemory. When a robot works automatically, a control system detects thecorresponding information from the program memory and transmits commandsignals to a driving mechanism, so that the execution mechanism performsthe various actions that are taught. The industrial robots with ateaching inputting program are referred to as a teaching reproductiontype industrial robot.

2) Artificial intelligence (AI): AI involves a theory, a method, atechnology, and an application system that use a digital computer or amachine controlled by the digital computer to simulate, extend, andexpand human intelligence, perceive an environment, obtain knowledge,and use the knowledge to obtain an optimal result. In other words, AI isa comprehensive technology in computer science and attempts tounderstand the essence of intelligence and produce a new intelligentmachine that can react in a manner similar to human intelligence. AI isto study the design principles and implementation methods of variousintelligent machines, to enable the machines to have the functions ofperception, reasoning, and decision-making.

With the research and progress of an AI technology, the AI technologyhas been studied and applied in many fields, such as common smart homes,smart wearable devices, virtual assistants, smart speakers, smartmarketing, unmanned driving, automatic driving, unmanned aerialvehicles, robots, intelligent healthcare, and intelligent customerservices. It is believed that with the development of the technology,the AI technology will be applied in more fields and play anincreasingly important value.

In the embodiments of the present disclosure, the AI technology can beapplied to robots, mainly involving a robot control technology, amachine learning technology, a computer vision technology, and the like.

In the embodiments of the present disclosure, the robot involved has arobotic arm that can be configured to perform an object placement task,that is, to place a target object at a certain target position.

Schematically, FIG. 1 is a schematic structural diagram of a robotic armprovided according to an exemplary embodiment of the present disclosure.The robotic arm can be mounted in a robot. As shown in FIG. 1 , therobotic arm includes a carrying component 110, a robotic arm main body120, a driving motor 130, and a controller 140.

As shown in FIG. 1 , the carrying component 110 can be implemented as aplane or plane-like component, which is configured to support a targetobject 150.

The robotic arm main body 120 is configured to connect the carryingcomponent 110, and the carrying component 110 is connected to therobotic arm main body 120. Exemplarily, one end of the robotic arm mainbody 120 is connected to a robotic arm supporting component, and one endis connected to the carrying component 110. The robotic arm supportingcomponent may be a robot main body or other supporting components incontact with a supporting surface. In some embodiments, when one end ofthe robotic arm main body is connected to the robot main body, thecarrying component 110 is connected to the other end of the robotic armmain body 120. As an extending portion of the robotic arm main body 120,the carrying component 110 is configured to support and place an object.

The driving motor 130 may be arranged at various joints in the roboticarm to control the respective joints to rotate, so as to driveassemblies connected to the joints to rotate or move.

The controller 140 is connected to the driving motor 130 and isconfigured to generate a control signal, send the control signal to thedriving motor 130, and control operations of the driving motor 130through the control signal. The controller 140 and the driving motor 130are connected in an electric way, a wireless way, or other ways capableof achieving signal transmission.

In the embodiments of the present disclosure, the controller 140 may beconfigured to control the driving motor to drive the carrying componentto move, so that the target object moves with the carrying component.The motion that drives the carrying component includes at least one ofsituations of causing the carrying component to change a pose or tomove. Exemplarily, causing the carrying component to change a poseincludes causing the carrying component to rotate clockwise orcounterclockwise. Causing the carrying component to move includescausing the carrying component to move in any direction to reach anotherposition. In some embodiments, the movement in any direction may beeither movement along a straight line or movement along a curve.

As the carrying component moves, the target object may slide on an uppersurface of the carrying component under actions of a friction and thegravity and slide away from the carrying component at a target positionat a target speed. The target speed is vector data, including a targetspeed direction and a target speed size.

In summary, the embodiments of the present disclosure relate to arobotic arm. In terms of the robotic arm that includes the carryingcomponent, the robotic arm main body, the driving motor, and thecontroller, the controller controls the driving motor to drive thecarrying component to move, so that the target object slides on theupper surface of the carrying component with the movement of thecarrying component under the actions of the friction and the gravity andslides away from the carrying component. In the above control process,the target object is placed dynamically, not statically, through themotion of the carrying component, which can cause actions of placing anobject to be continuously performed, thereby improving the efficiency ofplacing an object.

FIG. 2 is a schematic structural diagram of a robotic arm providedaccording to an exemplary embodiment of the present disclosure. Therobotic arm can be mounted in a robot. As shown in FIG. 2 , the roboticarm includes a carrying component 110, a robotic arm main body 120, adriving motor 130, and a controller 140.

As shown in FIG. 1 , the carrying component 110 can be implemented as aplane or plane-like component, which is configured to support a targetobject 150. A surface of the carrying component 110 that is configuredto carry the target object 150 may be a rough surface capable ofgenerating friction. Different degrees of roughness of surfaces of thecarrying component that carry the target object correspond to differentfriction coefficients.

The robotic arm main body 120 is configured to connect the carryingcomponent 110, and the carrying component 110 is connected to therobotic arm main body 120. As an extending portion of the robotic armmain body 120, the carrying component 110 is configured to support andplace an object.

The driving motor 130 may be arranged at various joints in the roboticarm to control the respective joints to rotate, so as to driveassemblies connected to the joints to rotate or move. A quantity of thedriving motor 130 may be the same as a quantity of joints needing to becontrolled in the robotic arm. The joints needing to be controlled inthe robotic arm may be each joint in the robotic arm or may be somejoints in the robotic arm.

The controller 140 is connected to the driving motor 130 and isconfigured to control the driving motor 130.

In the embodiments of the present disclosure, the controller 140 may beconfigured to control the driving motor to drive the carrying component,so that the target object slides on an upper surface of the carryingcomponent with the movement of the carrying component under actions of afriction and the gravity and slides away from the carrying component ata target position at a target speed.

In some embodiments, when the controller drives the carrying componentto move through the driving motor, the controller may drive the roboticarm main body through the driving motor and drive the carrying componentto move through the robotic arm main body.

In some embodiments, the carrying component 110 may be connected to therobotic arm main body 120 through the first joint 160.

The driving motor 130 includes a first driving motor 130 a.

The first driving motor 130 a is configured to drive the first joint 160to cause the carrying component 110 to rotate relative to the roboticarm main body 120, so that one side, extending in a first direction, ofthe carrying component 110 tilts upwards or downwards, and the targetobject carried by the carrying component 110 forms a certain angle witha horizontal direction, thereby causing the target object to slide underthe action of the friction and the gravity in an inclination directionafter the carrying component rotates. A rotation direction of the firstjoint 160 driven by the first driving motor 130 a may be related to anexpected direction in which the target object slides away from thecarrying component. For example, it may be the expected direction inwhich the target object slides away from the carrying component, or adirection opposite to the expected direction in which the target objectslides away from the carrying component. A rotation angle of the firstjoint 160 driven by the first driving motor 130 a may be related to thedegree of roughness of a carrying surface of the carrying component anda weight of the target object. For example, if the degree of roughnessof the carrying surface of the carrying component is larger, therotation angle may be larger. For another example, if the target objectis heavier, the rotation angle is larger.

In some embodiments, the carrying component 110 rotates relative to therobotic arm main body 120, which may be rotation around a connectingjoint. A rotation manner can be determined based on a connection waybetween the connecting joint and the carrying component. For example,when the connecting joint and the carrying component are in shaftconnection, the carrying component may rotate around a connecting shaftserving as a rotating shaft. When the connecting joint and the carryingcomponent are in spherical connection, the carrying component may rotatearound a connecting point serving as a center, so as to improve thecontrol accuracy of the rotating process.

A process of generating a control signal may include the followingsteps: obtaining a friction coefficient between a target object on thecarrying component and the carrying component; constructing a slidingmechanical model based on the friction coefficient; generating targetcontrol information based on the sliding mechanical model; andgenerating a control signal for the driving motor based on the targetcontrol information, so that the driving motor drives the carryingcomponent to move, and the target object slides on the upper surface ofthe carrying component with the movement of the carrying component underthe actions of the friction and the gravity and slides away from thecarrying component at the target position at the target speed.

The sliding mechanical model is configured to indicate a relationshipbetween a change of generalized coordinates of a motion system and adriving force on the motion system in a process that the carryingcomponent carries the target object and moves. The motion systemincludes the carrying component and the target object. The targetcontrol information including a motion trajectory of the carryingcomponent and driving forces on the motion system at various moments. Inthe entire control process, the control signal can be preciselygenerated based on the sliding mechanical model, thereby improving theaccuracy of a slide-out speed and slide-out position of the targetobject in the control process. As a whole, this can improve theefficiency of placing an object.

In one embodiment, the controller is configured to generate a firstmovement control signal and a first rotation control signal. That is,the control signal generated by the controller includes the firstmovement control signal and the first rotation control signal. The firstmovement control signal controls the driving motor to drive the carryingcomponent to move in the first direction to the first position, and thefirst rotation control signal controls the driving motor to drive thecarrying component to rotate until the side, extending in the firstdirection, of the carrying component tilts downwards, so that the targetobject slides on the upper surface of the carrying component under theactions of the friction and the gravity and slides away from thecarrying component at the target position at the target speed.

A horizontal component of the target speed and a horizontal component ofthe first direction are in a same direction. By means of controlling thedriving motor to drive the carrying component to rotate until the side,extending in the first direction, of the carrying component tiltsdownwards, the target object can slide away from the carrying componentat the target speed from the side extending in the first direction. Itis suitable for a scenario where a position of the carrying componentafter the target object leaves need to be on the same side as an initialposition, which can effectively improve the efficiency of placing anobject in this scenario.

In another embodiment, the controller is configured to generate a secondmovement control signal and a second rotation control signal. That is,the control signal generated by the controller includes the secondmovement control signal and the second rotation control signal. Thesecond movement control signal controls the driving motor to drive thecarrying component to move in the second direction to a second position.The second rotation control signal controls the driving motor to drivethe carrying component to rotate until one side, extending in the seconddirection, of the carrying component tilts upwards, so that the targetobject slides on the upper surface of the carrying component under theactions of the friction and the gravity and slides away from thecarrying component at the target position at the target speed.

A horizontal component of the target speed is opposite to a horizontalcomponent of the second direction. By means of controlling the drivingmotor to drive the carrying component to rotate until the side,extending in the first direction, of the carrying component tiltsupwards, the target object can slide away from the carrying component atthe target speed from the side extending in the second direction. It issuitable for a scenario where a position of the carrying component afterthe target object leaves and an initial position need to be on differentsides, which can effectively improve the efficiency of placing an objectin this scenario.

In some embodiments, the driving motor may include a second drivingmotor 130 b.

The second driving motor 130 b may be configured to drive the carryingcomponent 110 and the robotic arm main body 120 to move. The relativemovement between the carrying component 110 and the robotic arm mainbody 120 can drive the target object carried on the carrying component110 to have a position change.

The second driving motor 130 b can be arranged in the middle of therobotic arm main body or at junction portions of the robotic arm mainbody and a robot main body. In some embodiments, the robotic arm furtherincludes: an image acquisition assembly 170.

The image acquisition assembly 170 is connected to the controller 140.The controller 140 and the image acquisition assembly 170 are connectedin an electric way, a wireless way, or other ways capable of achievingsignal.

The image acquisition assembly 170 may be configured to acquire an imageat the carrying component 110.

The image acquisition assembly 170 and the robotic arm main body may bearranged separately. For example, the image acquisition assembly 170 maybe connected to the robot main body.

Or, the image acquisition assembly 170 may also be arranged on therobotic arm main body.

By means of arranging the image acquisition assembly on the robotic arm,images in the carrying component motion control process can be acquired,so as to confirm the position of the carrying component in the motionprocess. By means of comparing an actual position of image data with anexpected position, the control signal can be corrected to ensure thatthe target object slides on the upper surface of the carrying componentwith the movement of the carrying component under the actions of thefriction and the gravity and slides away from the carrying component atthe target position. The interference with the placement process of theobject due to a control error is avoided by improving the accuracy ofthe control signal of the placement process of the target object, whichfurther improves the efficiency for placing an object.

In summary, the embodiments of the present disclosure relate to arobotic arm. In terms of the robotic arm that includes the carryingcomponent, the robotic arm main body, the driving motor, and thecontroller, the controller controls the driving motor to drive thecarrying component to move, so that the target object slides on theupper surface of the carrying component with the movement of thecarrying component under the actions of the friction and the gravity andslides away from the carrying component. In the above control process,the target object is placed dynamically, not statically, through themotion of the carrying component, which can cause actions of placing anobject to be continuously performed, thereby improving the efficiency ofplacing an object.

FIG. 3 shows a method for controlling a robotic arm provided accordingto an exemplary embodiment of the present disclosure. The robotic armincludes a carrying component, a robotic arm main body, and a drivingmotor, and the carrying component is connected to the robotic arm mainbody. In some embodiments, the robotic arm may be the robotic arm shownin FIG. 1 or FIG. 2 . For example, the method may be performed by acontroller. The controller may be the controller in the robotic armshown in FIG. 1 or FIG. 2 , or may be another controller connected tothe controller in the robotic arm shown in FIG. 1 or FIG. 2 . Thefollowing embodiments will explain the method for controlling therobotic arm, which is performed by the controller in the robotic arm. Asshown in FIG. 3 , the method for controlling the robotic arm includesthe following steps:

Step 301: Obtain a friction coefficient between a target object on thecarrying component and the carrying component.

Step 302: Construct a sliding mechanical model based on the frictioncoefficient; the sliding mechanical model being configured to indicate arelationship between a change of generalized coordinates of a motionsystem and a driving force on the motion system in a process that thecarrying component carries the target object and moves; the motionsystem including the carrying component and the target object.

Step 303: Obtain target control information based on the slidingmechanical model; the target control information including a motiontrajectory of the carrying component and driving forces on the motionsystem at various moments.

Step 304: Drive the carrying component to move through the driving motorbased on the target control information, so that along with the movementof the carrying component and under actions of a friction and thegravity, the target object slides on an upper surface of the carryingcomponent and slides away from the carrying component at a targetposition at a target speed.

In summary, in the solutions shown in the embodiments of the presentdisclosure, the sliding mechanical model configured to indicate therelationship between the change of the generalized coordinates of themotion system and the driving force on the motion system in the processthat the carrying component carries the target object and moves isconstructed by using the friction coefficient between the target objecton the carrying component and the carrying component; the motiontrajectory of the carrying component is then obtained based on thesliding mechanical model; and the driving motor is controlled based ondriving forces on the motion system at various moments and the targetcontrol information, so that the target object slides on the uppersurface of the carrying component with the movement of the carryingcomponent under the actions of the friction and the gravity and slidesaway from the carrying component, thereby completing the placement ofthe object. In the above process, the target object is placeddynamically, not statically, through the motion of the carryingcomponent, which can cause actions of placing an object to becontinuously performed, thereby improving the efficiency of placing anobject.

According to the above solution provided in the embodiments shown inFIG. 3 , the robot can dynamically drive the target object to slide onthe carrying component by using the robotic arm including the carryingcomponent, so that the target object slides away from the carryingcomponent at a proper position under an inertia effect.

In some embodiments, the controller is configured to generate a firstmovement control signal. The first movement control signal controls thedriving motor to drive the carrying component to move in a firstdirection to a first position. The controller is also configured togenerate a first rotation control signal. The first rotation controlsignal controls the driving motor to drive the carrying component torotate to a first target pose. The first target pose is that the side,extending in the first direction, of the carrying component tiltsdownwards, so that the target object slides on the upper surface of thecarrying component under the actions of the friction and the gravity andslides away from the carrying component at the target position at thetarget speed. A horizontal component of the target speed and ahorizontal component of the first direction are in a same direction.

The above process of controlling the driving motor to drive the carryingcomponent to rotate to the first target pose can be started in theprocess of controlling the driving motor to drive the carrying componentto move in the first direction to the first position. Or, the aboveprocess of controlling the driving motor to drive the carrying componentto rotate to the first target pose can be started during controlling thedriving motor to drive the carrying component to move in the firstdirection to the first position. Or, the above process of controllingthe driving motor to drive the carrying component to rotate to the firsttarget pose can be started after controlling the driving motor to drivethe carrying component to move in the first direction to the firstposition.

For example, FIG. 4 shows a schematic diagram of dynamic objectplacement provided according to an exemplary embodiment of the presentdisclosure. By way of example, a target object is placed by a roboticarm in an extending manner. As shown in FIG. 4 , starting from aninitial position a, a driving motor in the robotic arm drives therobotic arm to extend, and a carrying component 41 in the robotic armmoves horizontally to a middle position b. In the continuous horizontalmoving process, counterclockwise rotation of the carrying component iscontrolled to cause the carrying component to reach a middle position c.A front end is an end of the carrying component 41 that is in the sameas a horizontal movement direction, and a rear end is an end of thecarrying component 41 that is opposite to the horizontal movementdirection. In the continuous horizontal moving process, clockwiserotation of the carrying component is controlled, and the rotation angleis less than a rotation angle when the carrying component reaches themiddle position c, so that the carrying component reaches a middleposition d. In the continuous horizontal moving process, the carryingcomponent is controlled to continue to rotate clockwise, so that thecarrying component is restored to a horizontal position, namely, thecarrying component reaches a middle position e. Meanwhile, the targetobject slides from the carrying component to a tabletop configured toplace the target object. The driving motor in the robotic arm drives therobotic arm to move backwards to a final position f. The carryingcomponent may have different speeds and different deflection directionsat different positions, so that the target object 42 placed on thecarrying component 41 slides relative to the carrying component 41 whilethe carrying component moves and slides away from the carrying component41 at the middle position e to the tabletop.

Controlling performed using the above control signal is suitable for ascenario where a position of the carrying component after the targetobject leaves and an initial position need to be on the same side, whichcan effectively improve the efficiency of placing an object in thisscenario.

In another embodiment, the controller is configured to generate a secondmovement control signal. The second movement control signal controls thedriving motor to drive the carrying component to move in a seconddirection to a second position. The controller is also configured togenerate a second rotation control signal. The second rotation controlsignal controls the driving motor to drive the carrying component torotate to a second target pose. The target pose is that the side,extending in the second direction, of the carrying component tiltsupwards, so that the target object slides on the upper surface of thecarrying component under the actions of the friction and the gravity andslides away from the carrying component at the target position at thetarget speed. A horizontal component of the target speed and ahorizontal component of the second direction are in opposite directions.

The above process of controlling the driving motor to drive the carryingcomponent to rotate to the target pose can be started in the process ofcontrolling the driving motor to drive the carrying component to move inthe second direction to the second position. Or, the above process ofcontrolling the driving motor to drive the carrying component to rotateto the target pose can be started during controlling the driving motorto drive the carrying component to move in the second direction to thesecond position. Or, the above process of controlling the driving motorto drive the carrying component to rotate to the target pose can bestarted after controlling the driving motor to drive the carryingcomponent to move in the second direction to the second position.

FIG. 5 shows a schematic diagram of dynamic object placement providedaccording to another exemplary embodiment of the present disclosure. Byway of example, a target object is placed by a robotic arm in aretracting manner. As shown in FIG. 5 , starting from an initialposition a, a driving motor in the robotic arm drives the robotic arm toextend forward, and a carrying component 51 in the robotic arm moveshorizontally to a middle position b. In the continuous horizontal movingprocess, clockwise rotation of the carrying component is controlled tocause the carrying component to reach a middle position c. In thecontinuous horizontal moving process, counterclockwise rotation of thecarrying component is controlled, and the rotation angle is less than arotation angle when the carrying component reaches the middle positionc, so that the carrying component reaches a middle position d. In thecontinuous horizontal moving process, the carrying component iscontrolled to continue to rotate counterclockwise, so that the carryingcomponent is restored to a horizontal position, namely, the carryingcomponent reaches a middle position e. Meanwhile, the target objectslides from the carrying component to a tabletop configured to place thetarget object. The driving motor in the robotic arm drives the roboticarm to move backwards to a final position f. The carrying component mayhave different speeds and different deflection directions at differentpositions, so that the target object 52 placed on the carrying component51 slides relative to the carrying component 51 while the carryingcomponent moves and slides away from the carrying component 51 at themiddle position e to the tabletop. Controlling performed using the abovecontrol signal is suitable for a scenario where a position of thecarrying component after the target object leaves and an initialposition need to be on different sides, which can effectively improvethe efficiency of placing an object in this scenario.

The placement shown in the above embodiments of the present disclosurecan have the following advantages:

-   -   1) The robot can operate a high-load object at its tail end, and        there are no grasping points on the object, so the robot can        place the object without grasping with fingers.    -   2) The placement is quick and convenient. The whole process can        be dynamically and smoothly completed.    -   3) The placement can be completed in conjunction with other        dynamic operation actions, such as dynamic transferring and        dynamic grasping of the robot.    -   4) Without relying on complex and expensive multi-fingered hands        of a robot, only a simple palm is mounted at the tail end of the        robot to achieve complex and dexterous operations.

FIG. 6 shows an implementation flow of a sliding placement operationaccording to the present disclosure. Execution of the implementationflow can refer to FIG. 7 .

FIG. 7 shows a method for controlling a robotic arm provided accordingto an exemplary embodiment of the present disclosure. The robotic armincludes a carrying component, a robotic arm main body, and a drivingmotor, and the carrying component is connected to the robotic arm mainbody. In some embodiments, the robotic arm may be the robotic arm shownin FIG. 1 or FIG. 2 . For example, the method may be performed by thecontroller in the robotic arm shown in FIG. 1 or FIG. 2 . As shown inFIG. 7 , the method for controlling the robotic arm includes thefollowing steps:

-   -   Step 701: Obtain a friction coefficient between a target object        on the carrying component and the carrying component.

In some embodiments, the step of obtaining a friction coefficientbetween a target object on the carrying component and the carryingcomponent includes:

-   -   obtaining an image of the target object sliding on the carrying        component;    -   obtaining sliding information of the target object based on the        image of the target object sliding on the carrying component;        the sliding information including an inclination angle of the        carrying component in response to that the target object slides        on the carrying component, and an acceleration of sliding of the        target object on the carrying component; and    -   obtaining the friction coefficient based on the sliding        information.

In some embodiments, the friction coefficient includes a static frictioncoefficient and a dynamic friction coefficient. The image of the targetobject sliding on the carrying component includes a first image of thetarget object sliding on the carrying component at a uniform speed and asecond image of the target object sliding on the carrying component atan accelerated speed. The static friction coefficient between the targetobject and the carrying component can be determined based on the firstimage, and the dynamic friction coefficient between the target objectand the carrying component can be determined based on the second image.

In some embodiments, the carrying component is shaped like a flat plate.For example, the above carrying component can be a flat-plate-shapedmechanical palm at a top end of the robotic arm, so that the targetobject can smoothly slide out of the flat-plate-shaped mechanical palm.

When the target object slides on the carrying component (for example,the mechanical palm, hereinafter referred to as palm) of the roboticarm, the palm and the target object can be regarded as an integratedmotion system. A schematic diagram of the motion system can be as shownin FIG. 8 .

In the above figure, {I} represents an inertial coordinate system, and{13} represents a non-inertial body coordinate system on the palm. Apose and motion of the palm can be determined based on a coordinatesystem {I}, and a pose and motion of an object can be determined basedon the coordinate system {B}.

Friction between the object and the palm of the robot is mainly dividedinto static friction and dynamic friction, and the two types offrictions can be determined by using a static friction coefficient μ₀and a dynamic friction coefficient μ, respectively.

The static friction coefficient can be obtained by continuouslyadjusting an inclination angle q of the palm and observing a motion ofthe object. If q=q₀, the object starts to move, and the static frictioncoefficient can be expressed as follows:

μ₀=a tan(q ₀)

When the inclination angle is greater than q₀ and is constant, theobject may slide down at a specific acceleration {umlaut over (x)}, andthe dynamic friction coefficient at this time can be expressed asfollows:

$\mu = {a{\cos\left( \frac{{g{\sin(q)}} - \overset{¨}{x}}{g} \right)}}$

In the above formula, the acceleration {umlaut over (x)} of the objectcan be obtained through visual information and a dynamic capturingsystem. The visual information and the dynamic capturing system can beimplemented through an AI model. The AI model can be trained throughmachine learning.

Step 702: Construct a sliding mechanical model based on the frictioncoefficient, the sliding mechanical model being configured to indicate arelationship between a change of generalized coordinates of a motionsystem and a driving force on the motion system in a process that thecarrying component carries the target object and moves.

The motion system includes the carrying component and the target object.

A coordinate of a control point C on the palm in the coordinate system{I} is C(x₀, y₀). A coordinate of the object in the non-inertial bodycoordinate system of the palm is (x, y). From this, a coordinate of theobject in the inertial coordinate system can be further obtained:

$\begin{bmatrix}x_{I} \\y_{I}\end{bmatrix} = {{\begin{bmatrix}x_{0} \\y_{0}\end{bmatrix} + {\begin{bmatrix}{\cos(q)} & {- {\sin(q)}} \\{\sin(q)} & {\cos(q)}\end{bmatrix}\begin{bmatrix}x \\y\end{bmatrix}}} = {\begin{bmatrix}x_{0} \\y_{0}\end{bmatrix} + {R\begin{bmatrix}x \\y\end{bmatrix}}}}$

-   -   where [x₁, y₁] represents a coordinate value of a center of mass        of the object in the world coordinate system, and R represents a        rotation matrix.

It is assumed that the generalized coordinate of the entire system is X,and X=[x₀, y₀, q, x, y]^(T). A dynamical model of the entire system isas follows:

H(X){umlaut over (X)}+C(X,{dot over (X)}){dot over (X)}+G(X)=F

In the above formula:

${\overset{.}{X} = \left\lbrack {{\overset{.}{x}}_{0},{\overset{.}{y}}_{0},\overset{.}{q},\overset{.}{x},\overset{.}{y}} \right\rbrack^{T}}{\overset{¨}{X} = \left\lbrack {{\overset{¨}{x}}_{0},{\overset{¨}{y}}_{0},\overset{¨}{q},\overset{¨}{x},\overset{¨}{y}} \right\rbrack^{T}}{{H(X)} = \begin{bmatrix}H_{11} & H_{12} & H_{13} & H_{14} & H_{15} \\H_{21} & H_{22} & H_{23} & H_{24} & H_{25} \\H_{31} & H_{32} & H_{33} & H_{34} & H_{35} \\H_{41} & H_{42} & H_{43} & H_{44} & H_{45} \\H_{51} & H_{52} & H_{53} & H_{54} & H_{55}\end{bmatrix}}{{C\left( {X,\overset{.}{X}} \right)} = \begin{bmatrix}C_{11} & C_{12} & C_{13} & C_{14} & C_{15} \\C_{21} & C_{22} & C_{23} & C_{24} & C_{25} \\C_{31} & C_{32} & C_{33} & C_{34} & C_{35} \\C_{41} & C_{42} & C_{43} & C_{44} & C_{45} \\C_{51} & C_{52} & C_{53} & C_{54} & C_{55}\end{bmatrix}}{{G(X)} = \begin{bmatrix}G_{1} & G_{2} & G_{3} & G_{4} & G_{5}\end{bmatrix}^{T}}{F = \begin{bmatrix}F_{1} & F_{2} & F_{3} & F_{4} & F_{5}\end{bmatrix}^{T}}$

-   -   where H (X), C (X,{dot over (X)}), and G (X) respectively        represent an inertial matrix, centrifugal force matrix, and        gravitational vector of a sliding system, and F represents a        driving force vector. F₁ and F₂ represent driving forces of the        robot in X and Y directions; F₃ represents a driving torque of        the robot in a rotation direction; F₄ represents a friction        force of the object on the palm; and F₅ represents a supporting        force between the object and the palm. The following will        introduce the constituent elements of H (X) and C (X, {dot over        (X)}):

H₁₁=H₂₂ =m ₁ +m ₂

H₁₂=H₂₁=0

H₁₃=H₃₁ =m ₂(y cos(q)−x sin(q))

H₁₄=H₄₁ =m ₂ cos (q)

H₁₅=H₅₁ =m ₂ sin (q)

H₂₃=H₃₂ =−m ₂(c cos (q)+y sin (q)

H₂₄=H₄₂ =m ₂ sin (q)

H₂₅=H₅₂ =m ₂ cos (q)

H₃₃ =m ₂ x ² +m ₂ y ²+I₁+I₂

H₃₄=H₄₃ =m ₂ y

H₅₃ =−m ₂ x

H₄₄=H₅₅ =m ₂

H₄₅=H₅₄ =−m ₂ x

C₁₁=C₁₂=C₂₁=C₂₂=C₃₁=C₃₂=C₄₁=C₄₂=C₅₁=C₅₂

C₁₃={dot over (y)}m ₂ cos(q)−{dot over (x)}m ₂ sin(q)−{dot over (q)}m₂(x cos(q)+y sin(q))

C₁₄=−{dot over (q)}m ₂ sin(q)

C₁₅={dot over (q)}m ₂ cos(q)

C₂₃=−{dot over (x)}m ₂ cos(q)−{dot over (y)}m ₂ sin(q)−{dot over (q)}m₂(y cos(q)−x sin(q)

C₂₄=−{dot over (q)}m ₂ cos(q)

C₂₅=−{dot over (q)}m ₂ sin (q)

C₃₃ =m ₂(x{dot over (x)}+y{dot over (y)})

C₃₄ =m ₂{dot over (q)}x

C₃₅ =m ₂{dot over (q)}y

C₄₃ m ₂({dot over (y)}−{dot over (q)}x)

C₄₄=0

C₄₅ −m ₂{dot over (q)}

C₅₃ =−m ₂({dot over (x)}+{dot over (q)}y)

C₅₄ =−m ₂{dot over (q)}

C₅₅=0

where m1 in the above formulas represents an equivalent mass of therobotic arm and palm of the robot; m₂ represents the mass of the object;I₁ represents a rotational inertia of the palm of the robot; and I₂represents a rotational inertia of the object.

Step 703: Obtain target control information based on the slidingmechanical model, the target control information including a motiontrajectory of the carrying component and driving forces on the motionsystem at various moments.

In some embodiments, the above target control information can furtherinclude a motion trajectory of the robotic arm.

In some embodiments, the step of obtaining target control informationbased on the sliding mechanical model includes:

obtaining the target control information based on a control constraintcondition by aiming to minimize a motion cost; the control constraintcondition includes a sliding mechanical constraint condition representedby the sliding mechanical model; and the motion cost is at least one ofmotion time, a motion distance, or work of the carrying component in thefollowing process: the carrying component is driven through the drivingmotor to move, so that the target object slides on the upper surface ofthe carrying component with the movement of the carrying component underthe actions of the friction and the gravity and slides away from thecarrying component at the target position at the target speed.

The motion time of the carrying component is time spent in the entireprocess of placing an object, which is a time difference between amoment when the carrying component starts to move and a moment when thetarget object leaves the carrying component. The motion distance is atravel corresponding to a motion trajectory of the carrying componentfrom the initial position to the target position where the target objectleaves the carrying component. The work is a product obtained bymultiplying a force exerted by the carrying component from the initialposition to the target position where the target objects leave thecarrying component with the motion distance.

The above minimization of the motion cost may include at least one ofminimizing the execution time of the motion trajectory (namely, the timespent in the entire process of placing an object), minimizing thedistance of the motion trajectory, and minimizing the work of the motiontrajectory (namely, the work done by controlling a motor in the entireprocess of placing an object).

In this embodiment, by taking at least one of the motion time, themotion distance, or the work as the motion cost and aiming to minimizethe motion cost, an optimal motion manner for the carrying componentfrom the initial position to the target position where the target objectleaves the carrying component can be determined, and a control signalfor the efficiency of placing an object can be obtained to control thedriving motor and improve the control effect.

In step 702 above, the dynamical model in the sliding operation processis provided. The dynamical model of the sliding operation can be usedfor optimal control solution for operations of the robot operations. Thedynamic sliding operation of the robot is as follows: In the motionprocess of the robot, a sliding acceleration and sliding speed of theobject are changed by adjusting the inclination angle of the palm of therobot, and the object slides out at a specific speed. The target objectis placed dynamically, not statically, through the motion of thecarrying component, which can cause actions of placing an object to becontinuously performed, thereby improving the efficiency of placing anobject.

In some embodiments, the process that the target object slides on thecarrying component includes a first process of sliding away from thecarrying component in a first direction relative to the carryingcomponent.

The control constraint condition includes:

-   -   the sliding mechanical constraint condition: s.t.H (X){umlaut        over (X)}+C (X,{dot over (X)}){dot over (X)}+G (X)=F;    -   a position constraint condition that the carrying component        needs to satisfy at start time of the first process:X(0)=X₀; a        position constraint condition that the carrying component needs        to satisfy at end time of the first process: X(T)=X_(T);    -   a speed constraint condition that the target object needs to        satisfy at the start time of the first process: {dot over        (X)}(0)={dot over (X)}₀; and

a speed constraint condition that the target object needs to satisfy atthe end time of the first process: {dot over (X)}(T)={dot over (X)}_(T).

A supporting force of the carrying component on the target object isgreater than or equal to 0: F₅≥0.

where 0 and T represent time when the target object starts to slide fromthe carrying component and time when the target object slides out of thecarrying component, respectively; X₀ and X_(T) are positions that thetarget object needs to reach at the time of starting the sliding and thetime of sliding out; and {dot over (X)}₀ and {dot over (X)}_(T) arespeeds that the target object needs to achieve at the time of startingthe sliding and the time of sliding out, respectively.

According to the requirements of the sliding operation of the robot, theobject needs to slide out of an edge at a certain speed at certain timefrom the initial position while the palm of the robot moves. By way ofexample, the motion cost includes the execution time of the motiontrajectory. The following optimal trajectory generation equations can belisted according to task features:

${\min{\int}_{0}^{T}\left( {1 + {\lambda{\overset{¨}{X}}^{T}\overset{¨}{X}}} \right){dt}}\left\{ \begin{matrix}{{{{s.t.{H(X)}}\overset{¨}{X}} + {{C\left( {X,\overset{.}{X}} \right)}\overset{.}{X}} + {G(X)}} = F} \\{{X(0)} = X_{0}} \\{{X(T)} = X_{T}} \\{{\overset{.}{X}(0)} = {\overset{.}{X}}_{0}} \\{{\overset{.}{X}(T)} = {\overset{.}{X}}_{T}} \\{F_{5} \geq 0}\end{matrix} \right.$

In the above formulas, X₀ and X_(T) respectively provide a position ofthe object on the palm of the robot at sliding start time and a positionof the object at final leave time; {dot over (X)}₀ and {dot over(X)}_(T) respectively provide a speed of the object on the palm of therobot at the sliding start time and a speed of the object at the finalleave time; F₅≥0 is mainly to ensure that there is always a contactbetween the object and the palm; and λ represents a weight coefficientof an acceleration optimization term for the robot.

In the above optimal trajectory generation equations, min ∫₀ ^(T)(1+λ{umlaut over (X)}^(T){umlaut over (X)}) dt indicates that theexecution time of the trajectory needs to be minimized; and {umlaut over(X)} represents an acceleration of a sliding system.

According to the above formulas, the motion trajectory of the robotneeds to meet its own motion trajectory requirements, and also needs toachieve the sliding of the object on the palm by changing theinclination angle.

That is, in the embodiments of the present disclosure, it is necessaryto calculate the motion trajectory and/or inclination angle of the palmof the robot (namely, the positions and poses of the palm at allmoments) and then perform inverse kinematics calculation according tothe positions and poses of the palm to obtain a joint trajectory of therobot.

The above optimal control equation can be solved through an optimalcontrol software package, such as PSOPT or Open Optimal Control Library(OpenOCL).

In an optimal control stage of the above equation, an optimal trajectoryx* and an optimal driving force F* can be obtained.

The above optimal driving force refers to a resultant force on thecenter of mass of the object and can be calculated according to aninertia force, a centrifugal force, and a gravity term of the object.

In some embodiments, the process of the target object sliding on thecarrying component includes:

-   -   a second process of sliding from an initial position relative to        the carrying component in a second direction relative to the        carrying component to a first position relative to the carrying        component; and a third process of sliding away from the carrying        component from the first position relative to the carrying        component in a third direction relative to the carrying        component.

The control constraint condition includes:

-   -   the sliding mechanical model constraint condition: s.t.H        (X){umlaut over (X)}+C(X, {dot over (X)}){dot over (X)}+G(X)=F;    -   a position constraint condition that the carrying component        needs to satisfy at start time of the second process:X(0)=X₀; a        position constraint condition that the carrying component needs        to satisfy at start time of the third process:X(T₁)=X_(T) ₁ ; a        position constraint condition that the carrying component needs        to satisfy at end time of the third process: X(T₂)=X_(T) ₂ ;    -   a speed constraint condition that the target object needs to        satisfy at the start time of the second process: {dot over        (X)}(0)=X₀; and    -   a speed constraint condition that the target object needs to        satisfy at the start time of the third process: {dot over        (X)}(T₁)={dot over (X)}_(T) ₁ ; and    -   a speed constraint condition that the target object needs to        satisfy at the end time of the third process: {dot over        (X)}(T₂)=X_(T) ₂ .

A supporting force of the carrying component on the target object isgreater than or equal to 0: F₅≥0.

-   -   where 0, T₁, and T₂ represent time when the target object starts        to slide from the carrying component, time when the target        object slides to the first position of the carrying component,        and time when the target object slides out of the carrying        component, respectively; X₀, X_(T) ₁ , and X_(T) ₂ represent        positions that the target object needs to reach at the time when        the target object starts to slide from the carrying component,        the time of reaching the first position, and the time of sliding        out respectively; and {dot over (X)}₀, {dot over (X)}_(T) ₁ ,        and {dot over (X)}_(T) ₂ represent speeds that the target object        needs to achieve at the time when the target object starts to        slide from the carrying component, the time of reaching the        first position, and the time of sliding out respectively.

In some embodiments, when the initial position of the target objectrelative to the carrying component satisfies an adjustment condition,the process of the target object sliding on the carrying componentincludes: a second process of sliding from an initial position relativeto the carrying component in a second direction relative to the carryingcomponent to a first position relative to the carrying component; and athird process of sliding away from the carrying component from the firstposition relative to the carrying component in a third directionrelative to the carrying component. Due to division of differentprocesses, the object placement process is controlled in stages, whichcan effectively improve the control precision of each process, therebyimproving the accuracy in the object placement process and improving theefficiency of placing an object.

In some embodiments, the above adjustment condition includes: theinitial position of the target object relative to the carrying componentis located at an edge of the carrying component.

In some cases, the initial position of the object is not appropriate.For example, the object is located at the edge at the initial moment. Atthis time, the above solution cannot provide an effective slidingdistance to allow the object to slide out of a contact surface at acertain initial speed. Therefore, it is necessary to use sliding tograsp the object to locate the object at a proper position. A schematicdiagram of position adjustment and placement can be shown in FIG. 9 .

The sliding operation shown in FIG. 9 above includes two processes. Oneprocess is to adjust the position through the sliding operation, and theother process is to dynamically place the object through the slidingoperation.

In this case, by way of example, the motion cost includes the executiontime of the motion trajectory. The following optimal trajectorygeneration equations can be listed according to task features:

${{\min{\int}_{0}^{T_{1}}\left( {1 + {\lambda{\overset{¨}{X}}^{T}\overset{¨}{X}}} \right){dt}} + {{\int}_{T_{1}}^{T_{2}}\left( {1 + {\lambda{\overset{¨}{X}}^{T}\overset{¨}{X}}} \right){dt}}}\left\{ \begin{matrix}{{{{s.t.{H(X)}}\overset{¨}{X}} + {{C\left( {X,\overset{.}{X}} \right)}\overset{.}{X}} + {G(X)}} = F} \\{{X(0)} = X_{0}} \\{{X\left( T_{1} \right)} = X_{T_{1}}} \\{{X\left( T_{2} \right)} = X_{T_{2}}} \\{{\overset{.}{X}(0)} = {\overset{.}{X}}_{0}} \\{{\overset{.}{X}\left( T_{1} \right)} = {\overset{.}{X}}_{T_{1}}} \\{{\overset{.}{X}\left( T_{2} \right)} = {\overset{.}{X}}_{T_{2}}} \\{F_{5} \geq 0}\end{matrix} \right.$

In the above optimization model, T₁ represents sliding-based positionadjustment time; T₂−T₁ represents sliding-based dynamic placement time;and min ∫₀ ^(T) ¹ (1+λ{umlaut over (X)}^(T) {umlaut over (X)})dt+∫_(T) ₁^(T) ² (1+λ{umlaut over (X)}^(T){umlaut over (X)})dt indicates that theexecution time of the trajectory needs to be minimized.

In the same way, for multi-stage optimal control, in an optimal controlstage of the above equation, an optimal trajectory x* and an optimaldriving force F* can be obtained.

Step 704: Obtain a driving torque of the driving motor based on thetarget control information.

In some embodiments, the controller obtains the target controlinformation through impedance control based on the sliding mechanicalmodel. In the process of impedance control, a grasping force on thetarget object is determined by the supporting force and friction of thecarrying component on the target object.

An object impedance in robot operation refers to an impedance relationbetween the target object and the robot due to external interaction ofthe target object after the robot grasps the target object. The objectdoes not interact with another external environment, but the objectneeds to be in specific contact with the palm, and there is a dynamicalequation of the object:

M_(b){dot over (V)}^(b)+C_(b)(V^(b))V^(b)+N_(b)(R_(s,b))=F^(b)

where M_(b), C_(b), and N_(b) respectively represent an inertial matrix,a centrifugal force term matrix, and a gravity term matrix of the objectin a non-inertial body coordinate system; F^(b) represents anotherexternal acting force on the object, which mainly refers to anequivalent operating force; V^(b) and {dot over (V)}^(b) refer to amotion speed and acceleration of the object; and R_(s,b) represents apose of the object.

In order to ensure an effective contact between the object and the palmand a smooth sliding operation, the equivalent operating force of theobject and a grasping force of the palm need to satisfy the followingrelationship:

min(∥F^(b*)−F^(b)∥²+∥F_(c)∥²)

s.t.F^(b)=GF_(c)

where F_(c) represents the grasping force of the palm; G represents agrasping matrix; and F^(b)* represents an expected equivalent operatingforce. The equivalent operating force of the object refers to aresultant force on the center of mass of the object, and the most directinfluence factor of the equivalent operating force is a contact force(namely, the grasping force of the palm above) between the palm and theobject. The above contact force is usually a three-dimensional (3D)vector, which contains a force vector and does not contain a torquevector. The vector of the equivalent operating force of the object isusually a six-dimensional (6D) vector, which contains both a forcevector and a torque vector.

Considering the dynamics of the robotic arm and an external force on therobotic arm, there is:

M_(r)(θ){umlaut over (θ)})+C_(r)(θ,{dot over (θ)}){dot over(θ)})+N_(r)(θ)=τ−J_(r) ^(bT)F_(c)

where M_(r) (θ), C_(r) (θ,θ), and N_(r)(θ) respectively represent aninertial matrix, a centrifugal force item matrix, and a gravity matrixwhich are related to the robot; J_(r) ^(bT) represents a force mappingjacobian matrix; and τ represents a driving force vector of each joint.

Therefore, a control torque of the robotic arm is as follows:

τ=M_(r)(θ)u+C_(r)(θ,θ){dot over (θ)}+N_(r)(θ)+J_(r) ^(bT)F_(c)

u={umlaut over (θ)}^(d) +k _(p) Δθ+k _(d)Δ{dot over (θ)}=J_(v) ⁺({umlautover (V)}^(b)−{dot over (J)}_(v){dot over (θ)})+k _(p) Δθ+k _(d)Δ{dotover (θ)}

where, u represents a control correction term related to a robot jointacceleration; k_(p) and k_(d) represent control coefficients; and J_(v)represents a mapping jacobian matrix between the cartesian speed of theobject and motion of a joint of the robot.

When the object is operated, it is necessary to control a cartesian poseof the robot. In actual control, an underlying controller of the robotneeds to control all the joints of the robot, and controlling all thejoints is achieved by a joint driving torque. Therefore, in theembodiments of the present disclosure, the controller of the robot needsto calculate a driving torque of the driving motor according to theabove formulas.

Step 705: Drive the carrying component to move through the driving motorbased on the driving torque, so that along with the movement of thecarrying component and under actions of a friction and the gravity, thetarget object placed on the carrying component slides on an uppersurface of the carrying component and slides away from the carryingcomponent at a target position at a target speed.

The motion that drives the carrying component includes at least one ofsituations of causing the carrying component to change a pose or tomove. Exemplarily, causing the carrying component to change a poseincludes causing the carrying component to rotate clockwise orcounterclockwise, so that a carrying plane of the carrying componenttilts. Exemplary, causing the carrying component to move includescausing the carrying component to move in any direction to reach anotherposition (for example, the edge position of the tabletop for placing thetarget object). In some embodiments, the movement in any direction maybe either movement along a straight line or movement along a curve.

It can be seen based on the above content that in the embodiments of thepresent disclosure, in response to that the target object slides on theupper surface of the carrying component, an acceleration of the targetobject on the upper surface of the carrying component is controlled byan offset angle of the upper surface of the carrying component relativeto a horizontal plane, and resistance to the target object in thesliding process is a sliding friction.

In some embodiments, in the sliding process of the target object on theupper surface of the carrying component, as the inclination angle of thecarrying component increases, the acceleration of the target object onthe upper surface of the carrying component is greater than 0.Afterwards, the target object starts to slide in an accelerated manner.As the inclination angle of the carrying component changes, theacceleration of the target object on the upper surface of the carryingcomponent can continue to be greater than 0 (the sliding friction isless than a component of the gravity of the target object on the uppersurface of the carrying component, and in this case, the target objectcontinues to slide in the accelerated manner), or the acceleration ofthe target object on the upper surface of the carrying component may beequal to 0 (the sliding friction is less than the component of thegravity of the target object on the upper surface of the carryingcomponent, and in this case, the sliding speed of the target objectremains unchanged), or the acceleration of the target object on theupper surface of the carrying component may be less than 0 (the slidingfriction is greater than the component of the gravity of the targetobject on the upper surface of the carrying component, and in this case,the target object starts to decelerate).

In an exemplary solution, in the object placement process, the robotfirst controls the palm to tilt in a large angle to cause the object toslide in the accelerated manner and then reduces the inclination angleof the palm to cause the object to decelerate and leave the palm.

In another exemplary solution, in the object placement process, therobot first controls the palm to tilt in a large angle to cause theobject to slide in the accelerated manner and then reduces theinclination angle of the palm to cause the object to slide at a constantspeed and then leave the palm.

In another exemplary solution, in the object placement process, therobot may control the palm to tilt in a large angle to cause the objectto slide in the accelerated manner and then cause the object to leavethe palm in the acceleration process.

Through the solutions shown in the embodiments of the presentdisclosure, the above dynamic object placement policy belongs to adynamic operation of the robot, and main advantages include thefollowing:

-   -   1) Dynamic placement can effectively improve the task completion        efficiency and can complete a splicing action with other dynamic        tasks.    -   2) Rapid placement of high-mass large-size objects can be        effectively completed.    -   3) An additional loaded end effector cannot be used, and complex        tasks can be completed using the palm of the robot or a pallet.

In summary, in the solutions shown in the embodiments of the presentdisclosure, the sliding mechanical model configured to indicate therelationship between the change of the generalized coordinates of themotion system and the driving force on the motion system in the processthat the carrying component carries the target object and moves isconstructed by using the friction coefficient between the target objecton the carrying component and the carrying component; the motiontrajectory of the carrying component is then obtained based on thesliding mechanical model; and the driving motor is controlled based ondriving forces on the motion system at various moments and the targetcontrol information, so that the target object slides away from thecarrying component at the target position at the target speed, therebycompleting the placement of the object. In the above process, the targetobject is placed dynamically, not statically, through the motion of thecarrying component, which can cause actions of placing an object to becontinuously performed, thereby improving the efficiency of placing anobject.

FIG. 10 is a structural block diagram of an apparatus for controlling arobotic arm provided according to an exemplary embodiment of the presentdisclosure. The robotic arm includes a carrying component, a robotic armmain body, and a driving motor, and the carrying component is connectedto the robotic arm main body. The apparatus includes:

-   -   a coefficient obtaining module 1001, configured to obtain a        friction coefficient between a target object on the carrying        component and the carrying component;    -   a model construction module 1002, configured to construct a        sliding mechanical model based on the friction coefficient; the        sliding mechanical model being configured to indicate a        relationship between a change of generalized coordinates of a        motion system and a driving force on the motion system in a        process that the carrying component carries the target object        and moves; the motion system including the carrying component        and the target object;    -   a control information obtaining module 1003, configured to        obtain target control information based on the sliding        mechanical model; the target control information including a        motion trajectory of the carrying component and driving forces        on the motion system at various moments;    -   a driving control module 1004, configured to: drive the carrying        component to move through the driving motor based on the target        control information, so that the target object slides on an        upper surface of the carrying component with the movement of the        carrying component under actions of a friction and the gravity        and slides away from the carrying component at a target position        at a target speed.

In some embodiments, in response to that the target object slides on theupper surface of the carrying component, an acceleration of the targetobject on the upper surface of the carrying component is controlled byan offset angle of the upper surface of the carrying component relativeto a horizontal plane, and resistance to the target object in thesliding process is a sliding friction.

In some embodiments, the control information obtaining module 1003 isconfigured to obtain the target control information based on a controlconstraint condition by aiming to minimize a motion cost. The controlconstraint condition includes the sliding mechanical model; the motioncost is driving the carrying component to move through the driving motorbased on the target control information, so that the target objectslides on the upper surface of the carrying component with the movementof the carrying component under the actions of the friction and thegravity and slides away from the carrying component at the targetposition at the target speed.

In some embodiments, the process that the target object slides on thecarrying component includes a first process of sliding away from thecarrying component in a first direction relative to the carryingcomponent.

The control constraint condition includes:

-   -   the sliding mechanical constraint condition;    -   a position constraint condition that the carrying component        needs to satisfy at start time of the first process and end time        of the first process;    -   a speed constraint condition that the target object needs to        satisfy at the start time of the first process; and

a speed constraint condition that the target object needs to satisfy atthe end time of the first process; and

-   -   a supporting force of the carrying component on the target        object is greater than or equal to 0.

In some embodiments, the process of the target object sliding on thecarrying component includes:

-   -   a second process of sliding from an initial position relative to        the carrying component in a second direction relative to the        carrying component to a first position relative to the carrying        component; and a third process of sliding away from the carrying        component from the first position relative to the carrying        component in a third direction relative to the carrying        component.

The control constraint condition includes:

-   -   the sliding mechanical constraint condition;    -   a position constraint condition that the carrying component        needs to satisfy at start time of the second process, start time        of the third process, and end time of the third process;    -   a speed constraint condition that the target object needs to        satisfy at the start time of the second process; and    -   a speed constraint condition that the target object needs to        satisfy at the start time of the third process; and    -   a speed constraint condition that the target object needs to        satisfy at the end time of the third process; and    -   a supporting force of the carrying component on the target        object is greater than or equal to 0.

In some embodiments, when the initial position of the target objectrelative to the carrying component satisfies an adjustment condition,the process of the target object sliding on the carrying componentincludes: a second process of sliding from an initial position relativeto the carrying component in a second direction relative to the carryingcomponent to a first position relative to the carrying component; and athird process of sliding away from the carrying component from the firstposition relative to the carrying component in a third directionrelative to the carrying component.

In some embodiments, the adjustment condition includes: the initialposition of the target object relative to the carrying component islocated at an edge of the carrying component.

In some embodiments, the control information obtaining module 1003 isconfigured to obtains the target control information through impedancecontrol based on the sliding mechanical model; and

-   -   in the process of impedance control, a grasping force on the        target object is determined by the supporting force and friction        of the carrying component on the target object.

In some embodiments, the coefficient obtaining module 1001 is configuredto: obtain an image of the target object sliding on the carryingcomponent;

-   -   obtain sliding information of the target object based on the        image of the target    -   object sliding on the carrying component; the sliding        information including an inclination angle of the carrying        component in response to that the target object slides on the        carrying component, and an acceleration of sliding of the target        object on the carrying component; and    -   obtain the friction coefficient based on the sliding        information.

In summary, in the solutions shown in the embodiments of the presentdisclosure, the sliding mechanical model configured to indicate therelationship between the change of the generalized coordinates of themotion system and the driving force on the motion system in the processthat the carrying component carries the target object and moves isconstructed by using the friction coefficient between the target objecton the carrying component and the carrying component; the motiontrajectory of the carrying component is then obtained based on thesliding mechanical model; and the driving motor is controlled based ondriving forces on the motion system at various moments and the targetcontrol information, so that the target object slides away from thecarrying component at the target position at the target speed, therebycompleting the placement of the object. In the above process, the targetobject is placed dynamically, not statically, through the motion of thecarrying component, which can cause actions of placing an object to becontinuously performed, thereby improving the efficiency of placing anobject.

The apparatus provided in the foregoing embodiments is only illustratedby division of all the above functional modules. In practicalapplication, the foregoing functions may be allocated to and completedby different functional modules as required, that is, an inner structureof a device is divided into different functional modules, so as tocomplete all or some of the functions described above. In addition, theapparatus provided in the foregoing embodiments and the methodembodiments fall within the same conception. The term module in thisdisclosure may refer to a software module, a hardware module, or acombination thereof. A software module (e.g., computer program) may bedeveloped using a computer programming language. A hardware module maybe implemented using processing circuitry and/or memory. Each module canbe implemented using one or more processors (or processors and memory).Likewise, a processor (or processors and memory) can be used toimplement one or more modules. For details of a specific implementationprocess of the apparatus, refer to the method embodiments. Details arenot described here again.

FIG. 11 is a structural block diagram of a robot 1100 provided accordingto an exemplary embodiment of the present disclosure. The robot 1100 mayinclude: a carrying component 1101, a robotic arm main body 1102, adriving motor 1103, a processor 1104, and a memory 1105.

The processor 1104 may include one or more processing cores, forexample, a 4-core processor or an 8-core processor. The processor 1104may be implemented in at least one hardware form of a digital signalprocessor (DSP), a field-programmable gate array (FPGA), and aprogrammable logic array (PLA). In some embodiments, the processor 1104may further include an artificial intelligence (AI) processor. The AIprocessor is configured to process computing operations related tomachine learning.

The memory 1105 may include one or more computer-readable storage media.The computer-readable storage medium may be non-transitory. The memory1105 may further include a high-speed random access memory and anonvolatile memory, for example, one or more disk storage devices orflash storage devices. In some embodiments, the non-transitorycomputer-readable storage medium in the memory 1105 is configured tostore at least one instruction, and the at least one instruction is usedfor being executed by the processor 1104 to implement the method forcontrolling the robotic arm provided in the method embodiments of thepresent disclosure.

In some embodiments, the robot 1100 may include: a peripheral interfaceand at least one peripheral. The processor 1104, the memory 1105, andthe peripheral interface may be connected through a bus or a signalwire. Each peripheral may be connected to the peripheral interfacethrough a bus, a signal wire, or a circuit board. In some embodiments,the peripherals may include: at least one of a radio frequency (RF)circuit, a display screen, a camera component, an audio circuit, and apower supply.

The peripheral interface may be configured to connect the at least oneperipheral related to input/output (I/O) to the processor 1104 and thememory 1105.

The camera component may be configured to capture images or videos.

In some embodiments, the robot 1100 further includes one or moresensors. The one or more sensors include, but are not limited to: anacceleration sensor, a gyroscope sensor, a pressure sensor, an opticalsensor, a proximity sensor, and the like.

A person skilled in the art may understand that the structure shown inFIG. 11 constitutes no limitation on the robot 1100, and the robot mayinclude more or fewer components than those shown in the figure, or somecomponents may be combined, or a different component deployment may beused.

The embodiments of the present disclosure further provide a robot. Therobot includes the robotic arm as shown in FIG. 1 or FIG. 2 . Thecontroller in the robotic arm may be configured to perform the methodfor controlling the robotic arm as shown in FIG. 3 or FIG. 7 .

The embodiments of the present disclosure further provide acomputer-readable storage medium. The computer-readable storage mediumstores at least one computer-readable instruction, and the at least onecomputer-readable instruction is loaded and executed by the one or moreprocessors to implement the methods for controlling the robotic armprovided in all the above method embodiments.

The embodiments of the present disclosure further provide a computerprogram product or a computer program. The computer program product orcomputer program includes computer-readable instructions which arestored in a computer-readable storage medium. One or more processors ofa computer device (for example, a robot) reads the computer-readableinstructions from the computer-readable storage medium, and the one ormore processors execute the computer-readable instructions to cause thecomputer device to perform the method for controlling the robotic arm inany one of the embodiments.

In some embodiments, the computer-readable storage medium may include: aread-only memory (ROM), a random access memory (RAM), a solid statedrive (SSD), an optical disc, or the like. The RAM may include aresistance random access memory (ReRAM) and a dynamic random accessmemory (DRAM). The sequential numbers of the foregoing embodiments ofthe present disclosure are merely for description purpose but do notimply the preference of the embodiments.

A person of ordinary skill in the art may understand that all or some ofthe steps of the foregoing embodiments may be implemented by hardware,or may be implemented by a program instructing relevant hardware. Theprogram may be stored in a computer-readable storage medium. The storagemedium mentioned above may be a ROM, a magnetic disk, an optical disc,or the like.

The foregoing descriptions are merely example embodiments of the presentdisclosure, but are not intended to limit the present disclosure. Anymodification, equivalent replacement, or improvement made within thespirit and principle of the present disclosure shall fall within theprotection scope of the present disclosure.

What is claimed is:
 1. A robotic arm, the robotic arm comprising: arobotic arm main body; a carrying component connected to the robotic armmain body; a driving motor; and a controller connected to the drivingmotor, configured to generate a control signal that controls the drivingmotor to drive the carrying component to move.
 2. The robotic armaccording to claim 1, wherein the control signal generated by thecontroller comprises a first movement control signal and a firstrotation control signal; the first movement control signal controls thedriving motor to drive the carrying component to move to a firstposition along a first direction; the first rotation control signalcontrols the driving motor to drive the carrying component to rotate toa first target pose; the first target pose refers to the carryingcomponent tilting downwards along the first direction; and a horizontalcomponent of the target speed and a horizontal component of the firstdirection are in a same direction.
 3. The robotic arm according to claim1, wherein the control signal generated by the controller comprises asecond movement control signal and a second rotation control signal; thesecond movement control signal controls the driving motor to drive thecarrying component to move to a second position along a seconddirection; the second rotation control signal controls the driving motorto drive the carrying component to rotate to a second target pose; thesecond target pose refers to the carrying component tilting upwardsalong the second direction; and a horizontal component of the targetspeed and a horizontal component of the second direction are in oppositedirections.
 4. The robotic arm according to claim 1, wherein thecarrying component is connected to the robotic arm main body through afirst joint; the driving motor comprises a first driving motor; and thefirst driving motor is configured to drive the first joint to rotate, sothat the carrying component rotates around the first joint.
 5. Therobotic arm according to claim 1, wherein the driving motor comprises asecond driving motor; and the second driving motor is configured todrive the carrying component to move.
 6. The robotic arm according toclaim 1, wherein the carrying component is a component generating afriction with a target object placed on the carrying component, and thecarrying component is a flat plate or a similar flat plate.
 7. Therobotic arm according to claim 1, wherein the robotic arm furthercomprises: an image acquisition assembly, connected to the controller,and the image acquisition assembly is configured to acquire an image atthe carrying component.
 8. A method for controlling a robotic arm,executed by a controller, the robotic arm comprising a robotic arm mainbody, a carrying component connected to the robotic arm main body, and adriving motor; the method comprising: obtaining a friction coefficientbetween a target object on the carrying component and the carryingcomponent; constructing a sliding mechanical model based on the frictioncoefficient, the sliding mechanical model being configured to indicate arelationship between a change of generalized coordinates of a motionsystem and a driving force on the motion system in a process that thecarrying component carries the target object and moves, and the motionsystem comprising the carrying component and the target object;obtaining target control information based on the sliding mechanicalmodel, the target control information comprising a motion trajectory ofthe carrying component and driving forces on the motion system atvarious moments; and driving the carrying component to move through thedriving motor based on the target control information.
 9. The methodaccording to claim 8, further comprising: in response to that the targetobject slides on an upper surface of the carrying component, controllingan acceleration of the target object on the upper surface of thecarrying component by an offset angle of the upper surface of thecarrying component relative to a horizontal plane, and resistance to thetarget object in the sliding process is a sliding friction.
 10. Themethod according to claim 8, wherein the obtaining target controlinformation based on the sliding mechanical model comprises: obtainingthe target control information based on a control constraint conditionby aiming to minimize a motion cost; the control constraint conditioncomprises a sliding mechanical constraint condition represented by thesliding mechanical model; and the motion cost is at least one of motiontime, a motion distance, or work of the carrying component in thefollowing process: the carrying component is driven through the drivingmotor to move.
 11. The method according to claim 10, wherein the processthat the target object slides on the carrying component comprises afirst process of sliding away from the carrying component in a firstdirection relative to the carrying component; the control constraintcondition comprises: the sliding mechanical constraint condition;position constraint conditions for the carrying component respectivelyat a start time of the first process and an end time of the firstprocess; and a speed constraint condition for the target object at thestart time of the first process; a speed constraint condition for thetarget object at the end time of the first process; and a supportingforce of the carrying component on the target object being greater thanor equal to
 0. 12. The method according to claim 10, wherein the processthat the target object slides on the carrying component comprises: asecond process of sliding from an initial position relative to thecarrying component in a second direction relative to the carryingcomponent to a first position relative to the carrying component; and athird process of sliding away from the carrying component from the firstposition relative to the carrying component in a third directionrelative to the carrying component; the control constraint conditioncomprises: the sliding mechanical constraint condition; positionconstraint conditions for the carrying component respectively at a starttime of the second process, a start time of the third process, and anend time of the third process; a speed constraint condition for thetarget object at the start time of the second process; and a speedconstraint condition for the target object at the start time of thethird process; and a speed constraint condition for the target object atthe end time of the third process; and a supporting force of thecarrying component on the target object being greater than or equal to0.
 13. The method according to claim 12, wherein in response to that theinitial position of the target object relative to the carrying componentsatisfies an adjustment condition, the process that the target objectslides on the carrying component comprises: a second process of slidingfrom an initial position relative to the carrying component in a seconddirection relative to the carrying component to a first positionrelative to the carrying component; and a third process of sliding awayfrom the carrying component from the first position relative to thecarrying component in a third direction relative to the carryingcomponent.
 14. The method according to claim 13, wherein the adjustmentcondition comprises: the initial position of the target object relativeto the carrying component is located at an edge of the carryingcomponent.
 15. The method according to claim 8, wherein the obtainingtarget control information based on the sliding mechanical modelcomprises: obtaining the target control information in an impedancecontrol manner based on the sliding mechanical model; and in a processof impedance control, a grasping force on the target object isdetermined by the supporting force and friction of the carryingcomponent on the target object.
 16. The method according to claim 8,wherein the obtaining a friction coefficient between a target object onthe carrying component and the carrying component comprises: obtainingan image of the target object sliding on the carrying component;obtaining sliding information of the target object based on the image ofthe target object sliding on the carrying component; the slidinginformation comprising an inclination angle of the carrying component inresponse to that the target object slides on the carrying component, andan acceleration of sliding of the target object on the carryingcomponent; and obtaining the friction coefficient based on the slidinginformation.
 17. A non-transitory computer-readable storage medium, thestorage medium storing at least one computer-readable instruction, andthe at least one computer-readable instruction being loaded and executedby one or more processors to implement: obtaining a friction coefficientbetween a target object on the carrying component and the carryingcomponent; constructing a sliding mechanical model based on the frictioncoefficient, the sliding mechanical model being configured to indicate arelationship between a change of generalized coordinates of a motionsystem and a driving force on the motion system in a process that thecarrying component carries the target object and moves, and the motionsystem comprising the carrying component and the target object;obtaining target control information based on the sliding mechanicalmodel, the target control information comprising a motion trajectory ofthe carrying component and driving forces on the motion system atvarious moments; and driving the carrying component to move through thedriving motor based on the target control information.
 18. The storagemedium according to claim 17, wherein the at least one computer-readableinstruction further cause one or more processors to implement: inresponse to that the target object slides on the upper surface of thecarrying component, controlling an acceleration of the target object onthe upper surface of the carrying component by an offset angle of theupper surface of the carrying component relative to a horizontal plane,and resistance to the target object in the sliding process is a slidingfriction.
 19. The storage medium according to claim 17, wherein theobtaining target control information based on the sliding mechanicalmodel comprises: obtaining the target control information based on acontrol constraint condition by aiming to minimize a motion cost; thecontrol constraint condition comprises a sliding mechanical constraintcondition represented by the sliding mechanical model; and the motioncost is at least one of motion time, a motion distance, or work of thecarrying component in the following process: the carrying component isdriven through the driving motor to move.
 20. The storage mediumaccording to claim 19, wherein the process that the target object slideson the carrying component comprises a first process of sliding away fromthe carrying component in a first direction relative to the carryingcomponent; the control constraint condition comprises: the slidingmechanical constraint condition; position constraint conditions for thecarrying component respectively at a start time of the first process andan end time of the first process; and a speed constraint condition forthe target object at the start time of the first process; a speedconstraint condition for the target object at the end time of the firstprocess; and a supporting force of the carrying component on the targetobject being greater than or equal to 0.